动手学ROS(2): Topic通信机制 您所在的位置:网站首页 ros subscriber回调机制 动手学ROS(2): Topic通信机制

动手学ROS(2): Topic通信机制

2024-07-12 18:32| 来源: 网络整理| 查看: 265

动手学ROS(2): Topic通信机制 程法说 分类:ROS入门教程 发布时间 2021.08.18阅读数 5160 评论数 0

ros中的通信方式有三种:

Topic

类似于mq(消息队列),异步收发;分为publisher和subscriber;

Service

类似http请求,同步;

Action

基于topic,实现了一种类似于service的请求/响应通讯机制,区别在于action带有反馈机制,用来不断向客户端反馈任务的进度,并且还支持在任务中途中止运行。常用于机器人的操控。

本教程重点介绍Topic的用法,Service和Action请自行查阅官方文档,不再赘述。

题外话:笔者在该系列教程中只会讲解个人认为的重点,不想面面俱到;同时控制篇幅,保证每篇内容不会太长。 1 定义Publisher 新建pkg $ catkin_create_pkg ros_topic std_msgs roscpp

注意我们选择依赖std_msgs,本节会用到此pkg中的标准类型。

新建ros_topic_publisher.cpp

该示例来自 link

#include "ros/ros.h" #include "std_msgs/String.h" #include int main(int argc, char **argv) { ros::init(argc, argv, "publisher"); ros::NodeHandle n; ros::Publisher chatter_pub = n.advertise("chatter", 100); ros::Rate loop_rate(10); int count = 0; while (ros::ok()) { std_msgs::String msg; std::stringstream ss; ss

分享

微信 微博 QQ 图片 上一篇:动手学ROS(1): 创建ros节点 下一篇:动手学ROS(3): 自定义消息类型


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有